package com.sdy.approval.biz.model;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sdy.common.model.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 审批记录
 * </p>
 *
 * @author cgj
 * @since 2019-08-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class TpApproveFlow extends BaseModel {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Integer id;

	/**
	 * 申请单号
	 */
	private String applyId;

	/**
	 * 资源id
	 */
	private String resId;

	/**
	 * 创建用户
	 */
	private Integer userId;

	/**
	 * 审核部门id
	 */
	private Integer approvalDeptId;

	/**
	 * 审核角色id
	 */
	private Integer approvalRoleId;

	/**
	 * 审核状态 1-未审核 2-通过 3-驳回
	 */
	private Integer result;

	/**
	 * 流程是否废除(1未废除 2废除）
	 */
	private Integer flowAvailable;

	/**
	 * 版本号
	 */
	private Integer edition;

	/**
	 * 审核意见
	 */
	private String auditOpinion;

	/**
	 * 部门名称
	 */
	@TableField(exist = false)
	private String deptName;
	
	/**
	 * 审批人名称
	 */
	@TableField(exist = false)
	private String approvalName;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = DATETIME_FORMAT)
	private Date createTime;

	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = DATETIME_FORMAT)
	private Date modifyTime;

	/**
	 * 修改人员id
	 */
	private Integer modifyUser;

	/**
	 * 审批流程节点id
	 */
	private Integer currentFlowLink;

	/**
	 * 下一审批流程节点id
	 */
	private Integer nextFlowLink;

	/**
	 * 附件
	 */
	private String appendix;

	/**
	 * 取消人员id
	 */
	private Integer cancelUserId;

	/**
	 * 操作类型(1.提交 2.修改并提交 3.撤回 4.取消)
	 */
	private Integer operType;

	/**
	 * 申请时关联的流程模板版本
	 */
	private Integer configHisNum;

}
